
#ifndef __COMM_CAR_DEF_H__
#define __COMM_CAR_DEF_H__

#include "comm_base.h"
#include "comm_define.h"
#include "comm_geometry.h"

using namespace std;

#if   (IS_CAR_TYPE_A1)

#define CAR_DEF_WHEELBASE_LEN                               0.9         /* 小车前后轮轴距 */
#define CAR_DEF_HEAD_TO_FRONT_WHEEL_LEN                     0.53        /* 车头(含触边)最前沿到前轮的距离 */
#define CAR_DEF_TAIL_TO_BACK_WHEEL_LEN                      0.55        /* 车尾(含触边)最后沿到后轮的距离 */
#define CAR_DEF_BODY_WIDTH                                  1.26        /* 车身宽度，含触边 */

#define CAR_DEF_MAX_VEL                                     0.9         /* 小车最大速度 */
#define CAR_DEF_MIN_MOVE_VEL_ABS                            0.15        /* 小车最小有效速度 */
#define CAR_DEF_MAX_TURN_ANGLE_ABS                          0.52        /* 最大转弯角度，绝对值 */

#define CAR_DEF_TRC_ROUTE_AIM_DSIT                          0.5         /* 跟踪路线瞄准距离 */

#elif (IS_CAR_TYPE_B2)

#define CAR_DEF_WHEELBASE_LEN                               1.44        /* 小车前后轮轴距 */
#define CAR_DEF_HEAD_TO_FRONT_WHEEL_LEN                     1.0         /* 车头(含触边)最前沿到前轮的距离 */
#define CAR_DEF_TAIL_TO_BACK_WHEEL_LEN                      0.5         /* 车尾(含触边)最后沿到后轮的距离 */
#define CAR_DEF_BODY_WIDTH                                  1.62        /* 不可触碰的车体宽度，不包含刷毛 */

#define CAR_DEF_MAX_VEL                                     0.9         /* 小车最大速度 */
#define CAR_DEF_MIN_MOVE_VEL_ABS                            0.15        /* 小车最小有效速度 */
#define CAR_DEF_MAX_TURN_ANGLE_ABS                          0.5         /* 最大转弯角度，绝对值 */

#define CAR_DEF_TRC_ROUTE_AIM_DSIT                          1.0         /* 跟踪路线瞄准距离 */
#define CAR_DEF_CLOSE_EDGE_AVOID_DIST                       2.28        /* 贴边避障距离，根据0.8倍最大转向角时车身右前位置能绕过正前方墙为准 */

#elif (IS_CAR_TYPE_A2V01C0)

#define CAR_DEF_WHEELBASE_LEN                               0.78        /* 小车前后轮轴距 */
#define CAR_DEF_HEAD_TO_FRONT_WHEEL_LEN                     0.5         /* 车头(含触边)最前沿到前轮的距离 */
#define CAR_DEF_TAIL_TO_BACK_WHEEL_LEN                      0.5         /* 车尾(含触边)最后沿到后轮的距离 */
#define CAR_DEF_BODY_WIDTH                                  1.26        /* 车身宽度，含触边 */

#define CAR_DEF_MAX_VEL                                     0.9         /* 小车最大速度 */
#define CAR_DEF_MIN_MOVE_VEL_ABS                            0.15        /* 小车最小有效速度 */
#define CAR_DEF_MAX_TURN_ANGLE_ABS                          0.5         /* 最大转弯角度，绝对值 */

#define CAR_DEF_TRC_ROUTE_AIM_DSIT                          1.0         /* 跟踪路线瞄准距离 */
#define CAR_DEF_CLOSE_EDGE_AVOID_DIST                       1.43        /* 贴边避障距离，根据0.8倍最大转向角时车身右前位置能绕过正前方墙为准 */

#elif (IS_CAR_TYPE_A2V01C1)

#define CAR_DEF_WHEELBASE_LEN                               0.78        /* 小车前后轮轴距 */
#define CAR_DEF_HEAD_TO_FRONT_WHEEL_LEN                     0.97        /* 车头(含触边)最前沿到前轮的距离 */
#define CAR_DEF_TAIL_TO_BACK_WHEEL_LEN                      0.5         /* 车尾(含触边)最后沿到后轮的距离 */
#define CAR_DEF_BODY_WIDTH                                  1.60        /* 车身宽度，含触边 */

#define CAR_DEF_MAX_VEL                                     0.9         /* 小车最大速度 */
#define CAR_DEF_MIN_MOVE_VEL_ABS                            0.15        /* 小车最小有效速度 */
#define CAR_DEF_MAX_TURN_ANGLE_ABS                          0.5         /* 最大转弯角度，绝对值 */

#define CAR_DEF_TRC_ROUTE_AIM_DSIT                          1.0         /* 跟踪路线瞄准距离 */
#define CAR_DEF_CLOSE_EDGE_AVOID_DIST                       1.38        /* 贴边避障距离，根据0.8倍最大转向角时车身右前位置能绕过正前方墙为准 */

#elif (IS_CAR_TYPE_A2V02C0)

#define CAR_DEF_WHEELBASE_LEN                               0.78        /* 小车前后轮轴距 */
#define CAR_DEF_HEAD_TO_FRONT_WHEEL_LEN                     0.97        /* 车头(含触边)最前沿到前轮的距离 */
#define CAR_DEF_TAIL_TO_BACK_WHEEL_LEN                      0.4         /* 车尾(含触边)最后沿到后轮的距离 */
#define CAR_DEF_BODY_WIDTH                                  1.68        /* 车身宽度，含触边 */

#define CAR_DEF_MAX_VEL                                     0.9         /* 小车最大速度 */
#define CAR_DEF_MIN_MOVE_VEL_ABS                            0.15        /* 小车最小有效速度 */
#define CAR_DEF_MAX_TURN_ANGLE_ABS                          0.5         /* 最大转弯角度，绝对值 */

#define CAR_DEF_TRC_ROUTE_AIM_DSIT                          1.0         /* 跟踪路线瞄准距离 */
#define CAR_DEF_CLOSE_EDGE_AVOID_DIST                       1.38        /* 贴边避障距离，根据0.8倍最大转向角时车身右前位置能绕过正前方墙为准 */

#else
    #error "Not Defined Car Type !!!" 
#endif

#endif

